package com.maya.medicalwastes.util;

import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.maya.medicalwastes.R;


/**
 *
 * @description toast工具类
 * @user gzl
 * @date 2017/5/19
 * @time 16:05
 * @version
 *
 */

public class ToastUtils {
    private static Toast toast = null;
    public static int LENGTH_LONG = Toast.LENGTH_LONG;
    private static int LENGTH_SHORT = Toast.LENGTH_SHORT;

    private static long mExitTime;//记录第一次按下返回键的时间 （两次按键的的时间大于2秒 执行Toast）
    private static int MAX_EXIT_APP_TIME = 2000; // 连续两次按键的时间间隔最大值

    /**
     * 普通文本消息提示
     *
     * @param context
     * @param text
     * @param yOffset
     */
    public static void TextToast(Context context, CharSequence text, int yOffset) {
        if ((System.currentTimeMillis() - mExitTime) > MAX_EXIT_APP_TIME) {
            mExitTime = System.currentTimeMillis();
            //创建一个Toast提示消息
            toast = Toast.makeText(context, text, LENGTH_SHORT);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(Gravity.TOP, 0, yOffset);
            //显示消息
            toast.show();
        }
    }

    /**
     * 普通文本消息提示
     *
     * @param context
     * @param text
     */
    public static void TextToast(Context context, CharSequence text) {
        if ((System.currentTimeMillis() - mExitTime) > MAX_EXIT_APP_TIME) {
            mExitTime = System.currentTimeMillis();
            //创建一个Toast提示消息
            toast = Toast.makeText(context, text, LENGTH_SHORT);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(Gravity.BOTTOM, 0, 0);
            //显示消息
            toast.show();
        }
    }

    /**
     * 带图片消息提示
     *
     * @param context
     * @param ImageResourceId
     * @param text
     */
    public static void ImageToast(Context context, int ImageResourceId, CharSequence text) {
        if ((System.currentTimeMillis() - mExitTime) > MAX_EXIT_APP_TIME) {
            mExitTime = System.currentTimeMillis();
            //创建一个Toast提示消息
            toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(Gravity.CENTER, 0, 0);
            //获取Toast提示消息里原有的View
            View toastView = toast.getView();
            //创建一个ImageView
            ImageView img = new ImageView(context);
            img.setImageResource(ImageResourceId);
            //创建一个LineLayout容器
            LinearLayout ll = new LinearLayout(context);
            //向LinearLayout中添加ImageView和Toast原有的View
            ll.addView(img);
            ll.addView(toastView);
            //将LineLayout容器设置为toast的View
            toast.setView(ll);
            //显示消息
            toast.show();
        }
    }

    /**
     * 自定义 Toast
     *
     * @param context
     * @param message
     */
    public static void ViewToast(Context context, String message) {
        if ((System.currentTimeMillis() - mExitTime) > MAX_EXIT_APP_TIME) {
            mExitTime = System.currentTimeMillis();
            LayoutInflater inflater = LayoutInflater.from(context);
            View mView = inflater.inflate(R.layout.view_toask,
                    null);
            TextView msg = (TextView) mView.findViewById(R.id.tv_msg);
            msg.setText(message);
            toast = new Toast(context.getApplicationContext());
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.setDuration(Toast.LENGTH_LONG);
            toast.setView(mView);
            toast.show();

        }
    }
}
